#!/bin/bash
set +e
:<<BLOCK
./autoTest --test=rndis --loop=1 --at=/dev/ttyUSB0 --ppp=/dev/ttyUSB1 --diag=/dev/ttyUSB2 --ping=1
test:进行哪种测试，loop:这该功能测试的循环次数，at:AT串口，ppp:ppp拨号口，diag:log口，ping:ping测试
其他参数不可更改，用#表示注释
BLOCK
#############################
ppp_test=true			#false代表不运行，true代表运行
rndis_test=true
cmux_test=false
basic_test=true
##############################

if [ ! "$EUID" = "0" ]; then
    echo "需要root权限"
    exit 2
fi

at=`../bin/dev_name at`			#用于发AT指令的口
ppp=`../bin/dev_name ppp`		#用于ppp拨号测试的拨号口（只用于ppp拨号测试）
diag=`../bin/dev_name diag`		#底层抓log的口
cmux_at=at	                    #需要cmux后拨号的口

if [[ $at != /dev* ]]; then
    exit 2
fi
if [[ $ppp != /dev* ]]; then
    exit 2
fi
if [[ $diag != /dev* ]]; then
    exit 2
fi

python2 nvm.py
DATE=$(date +%m%d-%H%M)
mkdir ../log/$DATE
../bin/diag ../log/$DATE/log &
DIAG_PID=$!
sed -i "s|log_dir = .*|log_dir = \"$DATE\"|" ../cfg/at/other.cfg	#重置配置参数
while true
do
if $rndis_test
then
./autoTest --test=rndis --loop=1 --at=$at --diag=$diag --ping=10
result="$?"
if [ $result = '5' ];then
    break
fi
fi
if $ppp_test
then
./autoTest --test=ppp --loop=1 --at=$at --ppp=$ppp --diag=$diag --ping=10
result="$?"
if [ $result = '5' ];then
    break
fi
fi
if $cmux_test
then
./autoTest --test=cmux --loop=1 --at=$cmux_at --diag=$diag --ping=10
result="$?"
if [ $result = '5' ];then
    break
fi
./../bin/off-mux
fi
if $basic_test
then
./autoTest --test=at --loop=1 --at=$at --diag=$diag
result="$?"
if [ $result = "5" ]; then
    break
fi
fi
done

kill -s 0 $DIAG_PID &> /dev/null
if [ $? = '0' ]; then
    # pkill --signal SIGINT diag
    kill -s SIGINT $DIAG_PID
fi
echo quit